#include <stdio.h>
#include <stdlib.h>
 
int main()
{
	int i, j, m, n, *s;
 
	/* default size: 5 */
        // if (c < 2 || ((m = atoi(v[1]))) <= 0) m = 5;
	m = 5;
 
	/* alloc array*/
	s = malloc(sizeof(int) * m * m);
 
	for (i = n = 0; i < m * 2; i++)
		for (j = (i < m) ? 0 : i-m+1; j <= i && j < m; j++)
			s[(i&1)? j*(m-1)+i : (i-j)*m+j ] = n++;
 
	printf("[");
	for (i = 0; i < m * m; ++i) {
		if ((i + 1) % m) {
			if ((i + 1) % m == 1) {
		        	printf("[");
		    	}
		    	printf("%d, ", s[i]);
		} else {
		    	if (i + 1 <= m * (m - 1))
			    	printf("%d], ", s[i]);
		    	else
			   	printf("%d]", s[i]);
		}

	}
	printf("]\n");

	/* free(s) */
	return 0;
}
